package com.itlong.cloud.POJO.PO;

import com.itlong.cloud.annotation.ItlField;
import com.itlong.cloud.annotation.ItlTables;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <desc>
 *     物业云服务费账单信息表实体类
 * </desc>
 */
@Data
@NoArgsConstructor
@ItlTables("property_cloud_service_cost_order_info")
@EqualsAndHashCode(callSuper = true)
public class PropertyCloudServiceCostOrderInfoPO extends BasePO implements Serializable {
    @ItlField(value = "order_id",logicKey = "key")
    private String orderId;                 //订单逻辑ID
    @ItlField("project_id")
    private String projectId;               //项目id
    @ItlField("fee_norm")
    private BigDecimal feeNorm;             //收费标准
    @ItlField("renew_time")
    private Integer renewTime;              //续费周期
    @ItlField("paid_amount")
    private BigDecimal paidAmount;          //应缴金额
    @ItlField("next_amount")
    private BigDecimal nextAmount;          //下期收费金额
    @ItlField("start_time")
    private Date startTime;                 //该账单续费起始时间
    @ItlField("end_time")
    private Date endTime;                   //该账单续费结束时间
    @ItlField("itlong_open_user_name")
    private String itlongOpenUserName;      //旺龙开户名称
    @ItlField("itlong_open_bank_name")
    private String itlongOpenBankName;      //旺龙开户银行名称
    @ItlField("itlong_bank_card_no")
    private String itlongBankCardNo;        //旺龙汇款账号
    @ItlField("property_open_user_name")
    private String propertyOpenUserName;    //物业开户名称
    @ItlField("property_open_bank_name")
    private String propertyOpenBankName;    //物业开户银行名称
    @ItlField("property_bank_card_no")
    private String propertyBankCardNo;      //物业汇款银行账号
    @ItlField("fee_status")
    private Integer feeStatus;              //支付状态 1未支付 2已支付 0作废
    @ItlField("payment_type")
    private Integer paymentType;            //支付方式：2银行转账 4微信转账
    @ItlField("pay_time")
    private Date payTime;                   //支付时间
    @ItlField("accept_user")
    private String acceptUser;              //运营审批人
    @ItlField("accept_time")
    private Date acceptTime;                //审批时间
    @ItlField("remark")
    private String remark;                  //备注
    @ItlField("batch_number")
    private String batchNumber;         // 批次号
    @ItlField("old_batch_number")
    private String oldBatchNumber;         // 不为空则表示该账单由这些批次号复用合并而来
    @ItlField("business_audit_status")
    private Integer businessAuditStatus;         // 商务审批状态，1未提交 2未审批 3已审批
    @ItlField("upload_info_private_name")
    private String uploadInfoPrivateName;         // 私密附件名称，多个按英文逗号相连，保持顺序，客户不可见
    @ItlField("upload_info_private_url")
    private String uploadInfoPrivateUrl;         // 私密附件url，多个按英文逗号相连，保持顺序，客户不可见
    @ItlField("upload_info_public_name")
    private String uploadInfoPublicName;         // 公共附件名称，多个按英文逗号相连，保持顺序，客户可见
    @ItlField("upload_info_public_url")
    private String uploadInfoPublicUrl;         // 公共附件url，多个按英文逗号相连，保持顺序，客户可见
    @ItlField("presented")
    private Integer presented;         // 赠送服务费，0否 1是
    @ItlField("accept_status")
    private Integer acceptStatus;          // 审核状态 1未提交 2未审核 3已审核
    @ItlField("billing_status")
    private Integer billingStatus;          // 开票状态 1未开票 2已开票
    @ItlField("business_remark")
    private String businessRemark;          //商务备注
    @ItlField("cloud_service_assignment")
    private String cloudServiceAssignment;          //云服务费任务书号
    @ItlField("delay_remark")
    private String delayRemark;          //延期备注
    @ItlField("confirm_remark")
    private String confirmRemark;          //收款确认备注
    @ItlField("delay_mark")
    private Integer delayMark;      //延期标识 0未延期 1已延期

    @ItlField("auto_create_present")
    private Integer autoCreatePresent;      //是否是系统自动创建的首三年晕服务费订单 1是 0否


}
